Video data originally developed for television screens must be reformatted before it can be displayed on most computer displays. Television screens typically require data in 2:1 interlaced format, which means a full frame of data is comprised of two spatially and temporally offset fields, typically referred to as odd and even fields. Computer displays typically require non-interlaced data. Displaying video data produced for standard televisions on personal computers therefore generally requires that the video data be converted from an interlaced format to a non-interlaced format.
The two most common conversion techniques are spatial line doubling and field recombining. Spatial line doubling, which is embodied in a technique referred to as "Bob" supported by the Microsoft Corporation, involves taking one field at a time and spatially interpolating to obtain the missing lines, usually by averaging the line above and below each missing one. Field recombining, which is embodied in a technique referred to as "Weave" supported by the Microsoft Corporation, involves interleaving both fields back together to get a spatially complete frame. The former approach ("Bob") is better suited for video with high motion content but produces a clearly visible loss of resolution for relatively static scenes. The latter technique ("Weave") is better suited for relatively static scenes but produces highly objectionable artifacts called feathering or ghosting when significant motion is present. Current and past commercially available Personal Computer (PC) systems have generally been unable to determine whether or not a live video source has motion, hence "Bob" is typically used because it produces less objectionable artifacts.
Certain conversion techniques produce much higher quality images by detecting the presence of motion in local areas of each field and using a motion-weighted average of the spatially and temporally interpolated values computed for the missing pixels. When the presence of film converted to video is detected, even higher quality is produced by recombining the appropriate fields. Such techniques produce a much higher quality video output than the Bob or Weave approaches described above.
Such techniques however, have traditionally only been available for the PC user in the form of a standalone display processor box. An example of such a display processor box is the Faroudja LD200 product by Faroudja Incorporated. Such a system operates as a standalone real-time display processor and is independent of the constraints and operating conditions, including timing and bandwidth constraints, of a typical PC graphics subsystem. Its timing, control and programming mechanisms are therefore decoupled from the PC environment. A number of techniques exist to perform processing on the video data to produce line-doubled and enhanced output, but the accompanying programming, and timing and control mechanisms are appropriate for a standalone box and not for an integrated core inside a PC's graphics accelerator.
De-interlacing by line-doubling inherently involves creation of additional data, including at least two continuous streams that are related by a multiple of a base clock. Additional clock rates are required by varying widths, multiplexing and demultiplexing of chroma at different stages, upsampling for enhancement, and downsampling for output to constrained channel. It is typical for traditional standalone video systems like the Faroudja LD 200 to operate continuously on the incoming real-time video, for example 525 lines per frame for NTSC, and use various clocks that are multiples of the base video clock to control the data. This type of mixing of control and clocking is very difficult to handle in the so-called back-end processing (route & place, design for testability, design rules checking) necessary in an integrated core that is part of a complex graphics accelerator ASIC (Application Specific Integrated Circuit). In addition, in such standalone systems there is no provision for non-deterministic arrival of data, as is often the case for PC subsystems that use shared buses, or non-deterministic processing of data downstream when it is merged with other data streams such as graphics. There is also no provision for frame-by-frame interaction that is possible in a PC environment and which adds significant value by providing tighter coupling of the multiple media.
In summary, conventional motion-adaptive video de-interlacing and enhancement modules use isochronous, clock-based controls that are suitable for standalone display processors, but have significant deficiencies in the context of a PC multimedia subsystem, especially if the video processing functions are embedded inside a multimedia controller such as the ViRGE graphics accelerator available from S3 Incorporated. Typical standalone display processors with de-interlacing and enhancement capability are not designed for tight coupling with a PC system and therefore do not have the mechanisms to facilitate such interaction. Conventional PC video de-interlacing modules use very simple processing which does not pose the kinds of problems or options that a sophisticated motion-adaptive de-interlacing and enhancement module does, hence the simple timing and control mechanisms do not extend to the latter.